package com.atguigu.common.jsondb.config;

import io.jsondb.JsonDBTemplate;
import io.jsondb.crypto.Default1Cipher;
import io.jsondb.crypto.ICipher;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.security.GeneralSecurityException;

/**
 * @author Jungle
 * @create 2023-12-30 7:47
 */
@Configuration
public class dbConfig {
    /**
     * 文件存储磁盘的位置
     * //数据库文件在磁盘上的实际位置，进程应该对此文件夹具有读写权限
     */
    private String dbFilesLocation = "F:\\temp\\dbfile\\jsondb";
    //POJO的Java包名称
    String baseScanPackage = "com.atguigu.common.jsondb.entity";

    @Bean
    public JsonDBTemplate jsonDBTemplate() throws GeneralSecurityException {
        //可选项：如果需要加密，可以选择加密对象 ，加密只是针对磁盘文件，
        // 正常看到的还是plain文件
        ICipher cipher = new Default1Cipher("1r8+24pibarAWgS85/Heeg==");
        return new JsonDBTemplate(dbFilesLocation, baseScanPackage, cipher);
    }
}
